package cl.jsoftlabs.gwt.soccer.server.persistence.entities;

import cl.jsoftlabs.gwt.soccer.client.bean.ContratoJugadorVO;
import cl.jsoftlabs.gwt.soccer.client.bean.FutbolClubVO;
import cl.jsoftlabs.gwt.soccer.client.bean.JugadorVO;
import cl.jsoftlabs.gwt.soccer.client.bean.PaisVO;

public class UtilEntities {
	
	
	public static PaisVO toVO(int id, String codDos, String codTres, String nombrePais){
		PaisVO vo = new PaisVO();
		vo.setIdPais(id);
		vo.setCodDos(codDos);
		vo.setCodTres(codTres);
		vo.setNombrePais(nombrePais);
		return vo;
	}

	public static PaisVO toVO(Pais p) {
		PaisVO vo = new PaisVO();
		vo.setIdPais(p.getIdPais());
		vo.setCodDos(p.getCodDos());
		vo.setCodTres(p.getCodTres());
		vo.setNombrePais(p.getNombrePais());
		vo.setBooCodVisible(p.getBooCodVisible());
		return vo;
	}

	public static FutbolClubVO toVO(FutbolClub fc) {
		return new FutbolClubVO(fc.getIdFutbolClub(), toVO(fc.getPais()), fc.getNombreClub());
	}

	public static FutbolClub toEntity(FutbolClubVO vo) {
		FutbolClub e = new FutbolClub();
		e.setIdFutbolClub(vo.getIdFutbolClub());
		e.setNombreClub(vo.getNombreClub());
		if (!vo.getPaisVO().equals(null)) {
			e.setPais(toEntity(vo.getPaisVO()));
		}
		
		return e;
	}

	public static Pais toEntity(PaisVO vo) {
		Pais e = new Pais();
		try {
			e.setCodDos(vo.getCodDos());
			e.setCodTres(vo.getCodTres());
			e.setIdPais(vo.getIdPais());
			e.setNombrePais(vo.getNombrePais());
			e.setBooCodVisible(vo.getBooCodVisible());
		} catch (Exception e2) {
			System.out.println(vo.toString());
		}

		return e;
	}

	public static ContratoJugador toEntity(ContratoJugadorVO contrato) {
		ContratoJugador e = new ContratoJugador();
		e.setIdContratoJugador(contrato.getIdContratoJugador());
		e.setFechaContratacion(contrato.getFechaContratacion());
		e.setFechaVigencia(contrato.getFechaVigencia());
		e.setFutbolClub(toEntity(contrato.getFutbolClub()));
		e.setJugador(toEntity(contrato.getJugador()));
		return e;
	}

	private static Jugador toEntity(JugadorVO vo) {
		Jugador e = new Jugador();
		e.setIdJugador(vo.getIdJugador());
		e.setApellidos(vo.getApellidos());
		e.setNombres(vo.getNombres());
		e.setCodNacionalidad(vo.getCodNacionalidad());
		e.setCodPosicion(vo.getCodPosicion());
		e.setFechaNacimiento(vo.getFechaNacimiento());
		return e;
	}
	
	

}
